package com.xd.core.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.xd.core.company.entity.OfflineTransferInfo;
import com.xd.core.finance.dto.PlatformRecordsDto;
import com.xd.core.finance.dto.PreDepositeQueryChannelTwoDto;
import com.xd.core.finance.dto.PreDepositeQueryDto;
import com.xd.core.finance.vo.PlatformRecordsVo;
import com.xd.core.finance.vo.PreDepositeQueryChannelTwoVo;
import com.xd.core.finance.vo.PreDepositeQueryVo;

/**
 * <p>
 * 线下打款记录 服务类
 * </p>
 *
 * @author ZX
 * @since 2025-03-03
 */
public interface IOfflineTransferInfoService extends IService<OfflineTransferInfo> {

    /**
     * @description: 债权方账户-充值记录(平台资方共用)
     * @author: ZCH
     * @date: 2025/3/6 0006 16:19
     * @param: [preDepositeQueryDto]
     * @return: com.github.pagehelper.Page<com.xd.core.finance.vo.PreDepositeQueryVo>
     **/
    Page<PreDepositeQueryVo> getPreDepositRecord(PreDepositeQueryDto preDepositeQueryDto);

    /**
     * @description: 债权方账户充值记录导出
     * @author: ZCH
     * @date: 2025/3/25 0025 9:35
     * @param: [dto, id]
     * @return: void
     **/
    void exportPreDepositRecord(PreDepositeQueryDto dto, Integer id);

    /***
     * @description 渠道二充值提现记录
     * @author Zch
     * @date 17:46 2025/7/7 星期一
     * @return com.github.pagehelper.Page<com.xd.core.finance.vo.PreDepositeQueryChannelTwoVo>
     **/
    Page<PreDepositeQueryChannelTwoVo> getPreDepositRecordChannelTwo(PreDepositeQueryChannelTwoDto preDepositeQueryDto);

    /***
     * @description 渠道二充值体现记录导出
     * @author Zch
     * @date 10:26 2025/7/8 星期二
     * @return void
     **/
    void exportPreDepositRecordChannelTwo(PreDepositeQueryChannelTwoDto dto, Integer id);

    /***
     * @description 平台提现记录
     * @author Zch
     * @date 14:20 2025/8/5 星期二
     * @return com.github.pagehelper.Page<com.xd.core.finance.vo.PlatformRecordsVo>
     **/
    Page<PlatformRecordsVo> getPlatformRecords(PlatformRecordsDto dto);

    /***
     * @description 平台提现记录导出
     * @author Zch
     * @date 14:46 2025/8/5 星期二
     * @return void
     **/
    void exportPlatformRecords(PlatformRecordsDto dto, Integer id);
}
